Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸 | 您所在的位置:网站首页 › 免费在线将 PNG 批量转换为 JPG 图片 › Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸 |
---------------Pillow教程集合--------------- Python项目18:使用Pillow模块,随机生成4位数的图片验证码 Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放) Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测) Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩 Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印 Pillow教程05:NumPy数组和PIL图像的相互转化 Pillow教程06:将图片中出现的黄色和红色,改成绿色 Pillow教程07:批量将png图片,合成GIF动态图 Pillow教程08:调整图片的亮度+对比度+色彩+锐度 1.图片的格式多种多样,常见的有bmp、jpg、png、gif、tiff、psd、ai、webp、eps、svg、cdr、pcd、dxf、raw等。这些格式各有特点,适用于不同的场景和需求。 bmp:是一种与硬件设备无关的图像文件格式,使用非常广泛。它支持1-24bit色彩,无损保存图像每个像素的信息,因此文件通常比较大。 jpg(或jpeg):是一种常见的、有损压缩的图像格式,被广泛用于数字照片的存储和传输。通过去除图像中一些肉眼不易察觉的数据以节省存储空间。 png:是一种无损压缩格式,支持24bit色彩,压缩不失真并支持透明背景和变显图像。PNG格式图像文件消除图像文件的锯齿边缘效应,可以得到平滑的边缘图像。 ICO (Icon) 是一种用于图标文件的格式,通常用于存储应用程序图标、文件夹、文件等在图形用户界面(GUI)中的小图像。这些图标通常很小,以便在工具栏、菜单或其他用户界面元素中快速显示。 gif:是一种动画和简单的短视频格式,只支持256色,通常用于网页和社交媒体上的动画图像。同时支持透明背景和动画。 tiff:是一种高质量的无损压缩格式,通常用于印刷和出版行业。它支持多种色彩模式,包括RGB、CMYK等,并且具有灵活的标签功能,可以存储大量与图像相关的信息。 raw:是数码相机拍摄照片时最常用的格式之一,它是一种未经压缩的图像格式,保留了相机捕捉的所有信息。需要专门的软件进行处理和转换才能成为常见的图片格式。 webp:是Google开发的一种同时提供了有损压缩与无损压缩的图片文件格式,派生自图像编码格式VP8。 2.使用Pillow图像格式的读取、处理和保存,来实现JPG、PNG、ICO和BMP等格式互转。另外,保存图像时指定格式参数(如’JPEG’、‘PNG’)是很重要的,因为Pillow会根据这个参数来决定如何编码图像数据。如果不指定格式,Pillow会尝试根据文件扩展名来猜测格式,但这并不总是可靠的。 如果你想批量转换指定的图片格式,可以试试以下代码。os.path.splitext() 是os.path模块中的一个函数,用于将文件路径拆分为文件名和扩展名两部分。这个函数返回一个元组,第一个元素是文件名(不包含扩展名),第二个元素是扩展名(包含点号 .)。 # @Author : 小红牛 # 微信公众号:WdPython from PIL import Image import os # 1.设置输入和输出文件夹路径 input_folder = '素材图片' output_folder = 'output_images' # 2.如果输出文件夹不存在,则创建它 if not os.path.exists(output_folder): os.makedirs(output_folder) # 3.设置输出图片格式和品质(可选,对于JPEG格式) output_format = 'JPEG' quality = 90 # 0 (最差质量, 最小文件大小) 到 100 (最佳质量, 最大文件大小) # 4.遍历输入文件夹中的所有文件 for filename in os.listdir(input_folder): # 检查文件扩展名,确保只处理图片文件 if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')): # 5.拼接完整的输入和输出文件路径 input_path = os.path.join(input_folder, filename) base_name, ext = os.path.splitext(filename) output_path = os.path.join(output_folder, base_name + '.' + output_format.lower()) print(output_path) # 6.打开图片并保存为新的格式 with Image.open(input_path) as img: img.save(output_path, output_format, quality=quality) print(f'转换完成,图片已保存到 {output_folder}')3.可以使用Image.resize()方法来调整单张图片的尺寸。如果你想批量修改多个图片的尺寸,你需要写一个循环来遍历所有的图片,并对每张图片调用resize()方法。 导入必要的模块。 设置目标尺寸,即你希望图片调整到的尺寸。 指定包含图片的文件夹路径。 使用os.listdir()遍历文件夹中的所有文件。 检查每个文件是否以常见的图片扩展名结尾(.png, .jpg, .jpeg, .bmp, .gif)。 对于每个图片文件,打开它,使用resize()方法调整其尺寸,并保存到一个新的文件夹中。 # @Author : 小红牛 # 微信公众号:WdPython import os from PIL import Image # 0.把修改后的图片放到output里面(如果不存在则创建) output_folder = 'output_images' if not os.path.exists(output_folder): os.makedirs(output_folder) # 1.设置目标尺寸 target_size = (800, 600) # 新的宽度和高度 # 图片所在的文件夹路径 input_folder = '素材图片' # 2.遍历文件夹中的所有文件 for filename in os.listdir(input_folder): print(filename) # 确保只处理图片文件 if filename.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')): # 3.拼接完整的文件路径 input_path = os.path.join(input_folder, filename) # 打开图片 img = Image.open(input_path) # 4.调整图片尺寸 resized_img = img.resize(target_size, Image.BICUBIC) # 拼接输出文件的完整路径 output_path = os.path.join(output_folder, filename) # 5.保存调整尺寸后的图片 resized_img.save(output_path)完毕!!感谢您的收看 ----------★★历史博文集合★★---------- 我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理 |
CopyRight 2018-2019 实验室设备网 版权所有 |